/******************************************************************************

	COPYRIGHT(C) JONAS 'SORTIE' TERMANSEN 2010.

	This file is part of Maxsi Engine.

	Maxsi Engine is free software: you can redistribute it and/or modify it
	under the terms of the GNU Lesser General Public License as published by
	the Free Software Foundation, either version 3 of the License, or (at your
	option) any later version.

	Maxsi engine is distributed in the hope that it will be useful, but WITHOUT
	ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
	FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
	for more details.

	You should have received a copy of the GNU Lesser General Public License
	along with Maxsi Engine. If not, see <http://www.gnu.org/licenses/>.

	MaxsiEngine.dll
	A general purpose C++ library for the Maxsi Technology Project.

	MaxsiIOBin2Hex.h
	Takes binary data as input and outputs hex, or the other way around.

******************************************************************************/

#ifdef Maxsi_Support_MaxsiIO

#ifndef MaxsiIOBin2Hex_H
#define MaxsiIOBin2Hex_H

BeginMaxsiNamespace

//=============================================================================
//	Define where the MaxsiIOBin2Hex interface is declared.
//=============================================================================
#undef MAXSI_INTERFACE
#define MAXSI_INTERFACE MAXSI_INTERFACE_IMPLEMENTED_IN_MAXSI_ENGINE

//=============================================================================
//	MaxsiIOBin2Hex - A link in a chain of IO handlers.
//=============================================================================
CLASSLINK MaxsiIOBin2Hex : public MaxsiIOEntity
{
public:
	MAXSI_DECLARE_CHILD_CLASS(MaxsiIOBin2Hex, MaxsiIOEntity);

public:
	MaxsiIOBin2Hex();
	virtual ~MaxsiIOBin2Hex();

//=============================================================================
//	Copy-pasteable interface from MaxsiIOEntity starts here.
//=============================================================================
public:
	virtual MaxsiError CreateBuffers() MAXSI_INTERFACE;
	virtual MaxsiError DeleteBuffers() MAXSI_INTERFACE;
	virtual MaxsiError CreateBuffers(MaxsiIOSocket* Socket) MAXSI_INTERFACE;
	virtual MaxsiError DeleteBuffers(MaxsiIOSocket* Socket) MAXSI_INTERFACE;

//=============================================================================
//	Copy-pasteable interface MaxsiThinks from starts here.
//=============================================================================
public:
	virtual MaxsiError OnThink() MAXSI_INTERFACE;

//=============================================================================
//	Copy-pasteable interface MaxsiIODevice from starts here.
//=============================================================================
public:
	virtual FLAGSL32 GetCapabilities() MAXSI_INTERFACE;

};

EndMaxsiNamespace

#endif

#endif

